package IHM;


import Serialization.TypeSerialisation;
import Serveur.Serveur;
import ClientAdmin.ClientAdmin;

/**
 * Lance l'application et son serveur
 * 
 * @author Adrian GUARRERA
 *
 */
public class Main {
	
	private static String mdp = "";
	
    public static void main(String[] args) {
    	//Xml par defaut
    	TypeSerialisation typeBDD = TypeSerialisation.SERIALISATION_XML;
    	int choixBdd = ScannerUtiles.acquerirInfoInteger("Voulez-vous utiliser:\n1 : base de donnee texte\n2 : base de donnee xml");
    	if(choixBdd==1){
    		typeBDD = TypeSerialisation.SERIALISATION_TEXTE;
    	}
    	
    	Serveur serveur = new Serveur(typeBDD);
    	
    	/**
    	Serveur serveur = new Serveur();
    	new Train(serveur,120, 300);
    	new Bus(serveur,12,70);
    	new Trajet(serveur, Ville.GRENOBLE, Ville.LYON, new GregorianCalendar(2012, 12, 12), new GregorianCalendar(2012, 12, 14), 0, 12);
    	new Passager(serveur, "Cesar", "Jules");
    	**/
    	
    	
		ConsoleClient consoleClient = new ConsoleClient(serveur);
		ConsoleAdmin consoleAdmin = new ConsoleAdmin(serveur);		
		int choix = 1;
		do{
			System.out.println("- - - - - - - - - - - -");
			System.out.println("Vous etes dans le menu principal :");
			choix = ScannerUtiles.acquerirInfoInteger("1 -> mode administrateur\n2 -> mode client\n0 -> quitter");
			if(choix == 0) break;
			if(choix == 1){
				if(!mdp.equals(ClientAdmin.MDP)) mdp = ScannerUtiles.acquerirInfo("Entrez le mot de passe(->'mdp')");
		    	if(mdp.equals(ClientAdmin.MDP)){
		    		consoleAdmin.adminConsole();
		    	}else{
		    		System.out.println("Mot de passe incorrect");
		    	}
			}else{
				consoleClient.clientConsole();
			}
		}while(true);
		
		//Enregistrer le serveur en serialisant
		System.out.println("Au revoir");
		serveur.closeServeur();
	}
}
